package com.xy.xymail.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 1.整合mybatis-plus
 *      （1）导入依赖
 *      （2）配置
 *          1.数据源
 *          2.mp
 * 2.逻辑删除
 *     1） 配置全局的逻辑删除规则（省略）
 *     2）配置逻辑删除的bean
 *     3）给bean加上逻辑删除注解@TableLogic
 *
 * 3.JSR303
 *      1）给bean加上校验注解：java.valication.constraints,并定义自己的message提示
 *      2）开启校验功能 @Valid
 *          效果：校验错误会有默认的响应
 *      3）给校验后的bean后紧跟一个bindingresult，可以获取校验的结果
 *      4）分组校验（多场景的复杂校验）
 *          1.@NotNull(message = "修改时，品牌id必须指定",groups = {UpdateGroup.class})
 *          给校验注解标注什么情况需要校验
 *          2.@Validated({AddGroup.class})
 *          3.默认没有指定校验分组的校验注解@NotBlank，在分组校验的情况（例如2的情况）下，是默认不生效的
 * 4.统一的异常处理
 *  @ControllerAdvice
 *  1)编写异常处理类，使用@RestControllerAdvice注解
 *  2）使用@ExceptionHandler注解标注方法可以处理的异常
 *
 *
 */
@SpringBootApplication
@MapperScan("com.xy.xymail.product.dao")
@EnableDiscoveryClient
public class XymailProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(XymailProductApplication.class, args);
    }

}
